package main

import "fmt"

func main(){
	//接口
    // 初始化 接口类 实现 对象
    m1:=Mouse{name:"联想鼠标"}

    fmt.Println(m1.name)   //联想鼠标
    //调用接口的方法
    testInterFaxe(m1)   //联想鼠标 鼠标开始工作    联想鼠标 鼠标退出

    //初始化 接口类 实现对象
	f1:=FlashDisk{name:"闪迪"}
	//f1.delete()
	f1.start()
	f1.delete()
	testInterFaxe(f1)


	/*闪迪 flashDisk开始工作
	闪迪 flashDisk退出*/

}

// 定义 usb 接口
type USB interface {
	start()
	end()
}

type Mouse struct {
	name string
}
type FlashDisk struct {
	name string
}

// 鼠标结构体 实现 start 方法
func (m Mouse)start()  {
	fmt.Println(m.name,"鼠标开始工作")
}
// 鼠标结构体 实现 end 方法
func (m Mouse)end(){
	fmt.Println(m.name,"鼠标退出")
}

// U盘 实现 start 方法
func (m FlashDisk)start()  {
	fmt.Println(m.name,"flashDisk开始工作")
}
// U盘  实现 end 方法
func (m FlashDisk)end(){
	fmt.Println(m.name,"鼠标退出")
}


// 鼠标结构体 实现 end 方法
func (m FlashDisk)delete(){
	fmt.Println(m.name,"flashDisk删除方法")
}

// 测试接口的方法
func testInterFaxe(usb USB)  {
	usb.start()
	usb.end()
}
